package com.wlyuan.open.dto;

import com.alibaba.fastjson.JSONObject;
import com.wlyuan.open.OpenBaseSyncDTO;
import com.wlyuan.open.dto.finance.BillDownDTO;
import com.wlyuan.open.dto.finance.BillInvoiceDetailDTO;
import com.wlyuan.open.dto.finance.BillTransportDTO;
import com.wlyuan.open.dto.finance.BillUpDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author lijing
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class OpenBillSyncDTO extends OpenBaseSyncDTO implements Serializable {

    private static final long serialVersionUID = 2628673931330976453L;
    private Long billId;
    @ApiModelProperty("对账单名称")
    private String name;
    @ApiModelProperty("对账单编号")
    private String billNo;
    @ApiModelProperty("对账单类型")
    private Integer billType;
    @ApiModelProperty("创建人")
    private Long createBy;
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;
    @ApiModelProperty("修改人")
    private Long updateBy;
    @ApiModelProperty("修改时间")
    private LocalDateTime updateTime;
    @ApiModelProperty("对账单说明")
    private String desc;

    @ApiModelProperty("上游")
    private BillUpDTO upStream;
    @ApiModelProperty("下游")
    private BillDownDTO downStream;

    @ApiModelProperty("运单信息")
    private List<BillTransportDTO> waybills;

    @ApiModelProperty("开票信息")
    private BillInvoiceDetailDTO invoice;

    @ApiModelProperty("扩展信息")
    private JSONObject echo;

    @ApiModelProperty("待审核标识")
    private Integer waitAuditFlag;

}
